{{tag>16.04 ubuntu server tutoriel acd_cli plexmediaserver amazon plex infini encfs fuse unionfs }}
----

====== Comment creer un serveur plex media server avec un stockage infini (amazon) ======

Ce tutoriel décrit les étapes nécessaires pour creer un server distant (ou local) Plex, accompagné d'un stockage Amazon cloud storage illimité (jusqu’à 100to en réalité) tout en cryptant l'intégrabilité des fichiers.


===== Pré-requis =====

  * Disposer des [[:sudo|droits d'administration]].
  * Disposer d'une connexion à Internet configurée et activée.
  * un serveur/vps disposant de FUSE (j'utilise hetnzer online et ovh kimsufi), attention a OpenVZ pour les vps, vérifié bien la disponibilité de fuse. 
  * un accès SSH
  * un compte [[https://www.amazon.com/clouddrive/home|amazon cloud storage]]

  [...]
===== Première étape : Préparation =====

Tout d'abord, il vous faudra installer Plex, rendez vous sur la [[https://www.plex.tv/downloads//|page de téléchargement]], copié le lien pour Ubuntu et wget. Dans mon exemple, c'est la version 1.3.3 de plex.

<code>cd ~
wget https://downloads.plex.tv/plex-media-server/1.3.3.3148-b38628e/plexmediaserver_1.3.3.3148-b38628e_amd64.deb
sudo dpkg -i plexmediaserver_1.*</code>

<note tip>Pour finaliser la configuration de plex sur un server distant, il vous faudra pour y connecter par un [[https://doc.ubuntu-fr.org/ssh|tunnel ssh]] sur le port 32400 , sinon il ne vous sera pas possible de finaliser l'installation de plex, une fois le tunnel réalisé rendez vous sur http://localhost:32400</note>

Pour plus de simplicité, c'est l'utilisateur plex qui sera utilisé, ça simplifie la gestion des droits.

<code> sudo su
passwd plex
adduser plex sudo</code>

Additionnellement, vous pouvez désactiver l'accès SSH de Plex.
<code> nano /etc/ssh/sshd_config </code> 

et en ajoutant a la fin :

<code>DenyUsers plex</code> 

et on redémarre ssh :

<code>service ssh restart</code>

Une fois reconnecté avec l'utilisateur plex (su plex), on va créer les dossiers nécessaires, une documentation détaille est disponible [[http://makeshift.ninja/unlimited-plex-media-server-using-amazons-unlimited-storage-backend-pt1.html|ici]].

<code>su plex
sudo mkdir /home/plex/
sudo chown plex /home/plex/
mkdir /home/plex/.local-sorted/
mkdir /home/plex/local-sorted/
mkdir /home/plex/.acd-sorted/
mkdir /home/plex/acd-sorted/
mkdir /home/plex/sorted/
mkdir /home/plex/logs/
</code>

ensuite on install l'ensemble des paquets necessaires :

<code>
sudo apt-get install encfs unionfs-fuse python-fuse python3-setuptools python3-appdirs python3-dateutil python3-requests python3-sqlalchemy git
sudo easy_install3 -U pip
</code>

Une fois tout ceci terminé, on réalise l'installation d'[[https://github.com/yadayada/acd_cli|ACD_CLI]] qui est une interface en ligne de commande qui permet de monter des disques cloud comme des dossiers locaux.

<code>sudo pip3 install git+https://github.com/yadayada/acd_cli.git</code>

On vérifie ensuite qui tout fonctionne bien :

<code>acd_cli sync</code>

Cette etape va vous demander d'avoir un fichier oauth_data qui permet a acd_cli de s'identifier avec amazon.

La premiere etape s'arrète au moment ou il faut ce connecter sur https://tensile-runway-92512.appspot.com/, faite le avec votre navigateur local, téléchargez le oauth_data, ouvrez le avec un lecteur local. Copiez les données et connectez vous sur un second terminal ssh et créé avec nano :

<code>nano /var/lib/plexmediaserver/.cache/acd_cli/oauth_data</code>

collez les données du fichier précédemment téléchargé, enregistrez et retourné a votre précédent ssh. Continuez de suivre les instructions d'acd_cli.

Une fois terminé, on peut s'attaquer au vif du sujet : le montage des dossiers, le cryptage et la synchronisation.



===== Le vif du sujet =====

**Le principe est simple :** 

  * **/local-sorted**, qui est le fichier local non crypté ou vous déposerez vos médias.
  * sa version crypté avec encfs **/.local-sorted** qui est le dossier qui sera upload sur amazon
  * **/.acd-sorted** qui est le point de montage du dossier cloud, qui est monté crypté.
  * **/acd-sorted** qui est le dossier distant décrypté.
  * **/sorted**, le dossier qui via unionfs, permet de "fusionner" local-sorted et acd-sorted, ce sera le dossier utilisé par Plex.

===== Conclusion =====

Voila, vous savez maintenant faire le café avec Ubuntu !

===== Problèmes connus=====

Si votre café est trop fort, saisissez la commande suivante dans un [[:terminal]]: ...

===== Voir aussi =====

  * [[http://forum.ubuntu-fr.org/viewtopic.php?id=64840|Discussion "Tutoriel pour faire le café"]] sur le forum ubuntu-fr


----
//Contributeurs principaux : [[:utilisateurs:IDENTIFIANT]].//